package com.zl.tby.service;

import com.zl.tby.core.base.bean.TbyPageResult;
import com.zl.tby.core.common.R;
import com.zl.tby.dto.TbyEducationViewQuery;
import com.zl.tby.model.TbyEducationView;
import com.zl.tby.screen.vo.education.TbyEducationResourceScreenBean;
import com.zl.tby.vo.TbyEducationViewForm;

import java.util.List;

/**
 * 视图管理
 * @author changpeng
 * @version 1.0
 * @since 2024/8/6 19:56
 */
public interface ITbyEducationViewService {

    /**
     * 添加
     * @param entity: 表单信息
     * @return 保存结果
     */
    R<TbyEducationView> add(TbyEducationViewForm entity);

    /**
     * 修改
     * @param entity: 表单信息
     * @return 修改结果
     */
    R<TbyEducationView> update(TbyEducationViewForm entity);

    /**
     * 根据id删除
     * @param id: 主键id
     * @return 删除结果
     */
    int delete(Long id);

    /**
     * 根据id获取对象
     * @param id: 主键id
     * @return 实体对象
     */
    TbyEducationView get(Long id);

    /**
     * 分页查询
     * @param query: 查询参数
     * @return 结果
     */
    TbyPageResult<TbyEducationViewForm> page(TbyEducationViewQuery query);

    /**
     * 列表查询
     * @param query: 查询参数
     * @return 结果
     */
    List<TbyEducationViewForm> list(TbyEducationViewQuery query);

    /**
     * 保存视图
     * @param formData: 参数
     * @return 结果
     */
    R<Void> saveBatch(String formData);

    /**
     * 修改业务id
     * @param ids: 主键id
     * @param businessId: 业务id
     * @return 结果
     */
    R<Void> updateBusinessId(String ids, Long businessId);

    /**
     * 获取视图分类及视图泪飙
     * @param category：视图分类
     * @param businessId：业务id
     * @return
     */
    TbyEducationResourceScreenBean educationSteleAndView(String category, Long businessId);

    /**
     * 生成视频缩略图
     */
    void createThumbnail(Long id);

    /**
     * 生成图片缩略图
     * @param id: 主键id
     */
    void createImgThumbnail(Long id);
}
